package vip.xiaonuo.applet;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import vip.xiaonuo.core.annotion.BusinessLog;
import vip.xiaonuo.core.annotion.Permission;
import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum;
import vip.xiaonuo.core.pojo.response.ResponseData;
import vip.xiaonuo.core.pojo.response.SuccessResponseData;
import vip.xiaonuo.modular.questionnaire.param.QuestionnaireDto;
import vip.xiaonuo.modular.questionnaire.service.QuestionnaireService;
import vip.xiaonuo.modular.questionnairesubject.entity.QuestionnaireSubject;
import vip.xiaonuo.modular.questionnaireuser.param.QuestionnaireUserParam;
import vip.xiaonuo.modular.questionnaireuser.service.QuestionnaireUserService;

import javax.annotation.Resource;
import java.util.List;

@RestController
@Api(tags = "小程序问卷相关接口")
@RequestMapping("/app")
public class AppletQuestionnaireUserController {

    @Resource
    private QuestionnaireUserService questionnaireUserService;

    @Resource
    private QuestionnaireService questionnaireService;

    /**
     * 查询问卷用户关联表
     *
     * @author wang
     * @date 2022-01-05 20:02:12
     */
    @ApiOperation("查询问卷数据任务 {status:'?'-2 -1已拒绝 0待完成 1待审核 2已完成 3已驳回 4已上架 5已下架}")
    @GetMapping("/questionnaireUser/page")
    public ResponseData page(@RequestBody QuestionnaireUserParam questionnaireUserParam) {
        return new SuccessResponseData(questionnaireUserService.page(questionnaireUserParam));
    }


    /**
     * 问卷领取拒接接口
     *
     * @author wang
     * @date 2022-01-05 20:02:12
     */
    @PostMapping("/questionnaireUser/add")
    @ApiOperation("问卷领取拒接接口 {status:'?'} -1已拒绝 0待完成")
    public ResponseData add(@RequestBody QuestionnaireUserParam questionnaireUserParam) {
        questionnaireUserService.add(questionnaireUserParam);
        return new SuccessResponseData();
    }


    /**
     * 问卷提供接口
     * @author wang
     * @date 2022-01-05 20:02:12
     */
    @PostMapping("/questionnaireUser/questionnaireProvision")
    @ApiOperation("问卷提供接口")
    public ResponseData questionnaireProvision(@RequestBody  QuestionnaireUserParam questionnaireUserParam){
        List<QuestionnaireSubject> questionnaireDto=questionnaireService.questionnaireProvision(questionnaireUserParam);
        return new SuccessResponseData(questionnaireDto);
    }













}
